The present invention relates to a bar-code reader and a bar-code reading method for optically reading bar codes by scanning bar codes that express characters based on bar width, with laser beams.
Recently, POS (point of sales) systems have been diffused rapidly in retail shops, particularly, in convenience stores, department stores, supermarkets, etc, in order to quickly understand the contents of sales of products and to save manpower. In the POS system, there is built in a bar-code reader for optically reading bar codes that express characters, and decoding these characters based on the read result of the bar codes.
There may arise variances in the bar widths of the bar codes that are attached to goods, depending on print precision levels. Therefore, the bar-code reader is required to decode characters in high precision without being affected by the variances in the bar widths.
FIG. 8 is a block diagram showing a structure of a conventional bar-code reader. In this drawing, a bar code 10 is attached to goods not shown. The bar code consists of a plurality of black bars and white bars that are combined together in alternate order, to express twenty kinds of characters in total including E (EVEN) 0 to E9 and O (ODD) 0 to O9. As this bar code 10, there are EAN (European Article Number) that is used invarious countries in the world, and UPC (Universal Product Code) that is used in America.
FIG. 9 is a top plan view which shows the bar code 10. The bar code 10 shown in this drawing has black bars BB1, white bars WB1, black bars BB2, and white bars WB2 that are laid out alternately, as an example. Further, this bar code 10 is constructed of a left margin LM, a left guard bar LGB that includes a black bar LGB1 and a white bar LGB2, a left data character 10L that consists of six characters (for example, xe2x80x9c000000xe2x80x9d), a center bar CB, a right data character 10R that consists of five characters (for example, xe2x80x9c128963xe2x80x9d), a check digit code CD that consists of one character (for example, xe2x80x9c2xe2x80x9d), a right guard bar RGB that includes a white bar RGB1 and a black bar RGB2, and a right margin RM, in the order from the left to the right in the drawing.
In this drawing, a country code C1 is xe2x80x9c20xe2x80x9d, a goods maker code C2 is xe2x80x9c00000xe2x80x9d, a goods item code C3 is xe2x80x9c28963xe2x80x9d, and a check digit code CD is xe2x80x9c2xe2x80x9d. This check digit code CD is a code that is used for a calculation check (for example, a modulus ten check) for increasing the reliability (precision) of the bar-code data.
One character in the bar code 10 is constructed of four bars (elements) including a first black bar, a second white bar, a third black bar, and a fourth white bar, in the order from the right to the left, as shown in FIG. 10(a) to FIG. 10(d). A character length C (a distance from the edge of the first black bar to the edge of the fourth white bar) is set to have seven modules (a unit length is called a xe2x80x9cmodulexe2x80x9d).
Further, the bar code 10 expresses ten kinds of numbers (characters) from xe2x80x9c0xe2x80x9d to xe2x80x9c9xe2x80x9d, based on the combination of a black-bar width B1 of the first black bar, a white-bar width B2 of the second white bar, a black-bar width B3 of the third black bar, and a white-bar width B4 of the fourth white bar. Further, the bar code 10 can express twenty kinds of characters with the same number, by introducing a combination of two kinds of an odd number and an even number for the number of modules of the black bars, as shown in FIG. 11.
A number of modules of black bars that becomes an odd number will be called ODD (hereinafter to be abbreviated as O), and, on the other hand, a number of modules of black bars that becomes an even number will be called EVEN (hereinafter to be abbreviated as E). FIG. 11 shows an example of twenty kinds of characters in total that includes ten kinds of characters from a character O0 to a character O9 for which the number of modules of black bars becomes an odd number respectively, and ten kinds of characters from a character E0 to a character E9 for which the number of modules of black bars becomes an even number respectively.
The character O0 and the character E0 shown in the drawing will be explained as an example. The character O0 is constructed of a first black bar (the number of modules is one), a second white bar (the number of modules is one), a third black bar (the number of modules is two), and a fourth white bar (the number of modules is three), in the order from the right to the left in the drawing. Further, the character O0 has three modules as the sum of the number of modules of the first black bar (=1) and the number of modules of the third black bar (=2), that is, an odd number.
On the other hand, the character E0 is constructed of a first black bar (the number of modules is three), a second white bar (the number of modules is two), a third black bar (the number of modules is one), and a fourth white bar (the number of modules is one), in the order from the right to the left in the drawing. Further, the character E0 has four modules as the sum of the number of modules of the first black bar (=3) and the number of modules of the third black bar (=1), that is, an even number.
A character E4 shown in FIG. 10(a) is constructed of a black bar having one module for the black-bar width B1, a white bar having one module for the white-bar width B2 that is adjacent to this black bar, a black bar having three modules for the black-bar width B3 that is adjacent to this white bar, and a white bar having two modules for the white-bar width B4 that is adjacent to this black bar, in the order from the right to the left in this drawing.
The sum of the black-bar width B1 and the white-bar width B2, that is a distance from the edge of the first black bar to the edge the second white bar, is called a delta distance T1. In the example shown in this drawing, this delta distance T1 is two modules. Further, the sum of the white-bar width B2 and the black-bar width B3, that is a distance from the edge of the second white bar to the edge the third black bar, is called a delta distance T2. In the example shown in this drawing, this delta distance T2 is four modules.
The delta distance T1, the delta distance T2, the black-bar width B1, and the black bar B3 are important parameters that are used to decide which one of the character O0 to the character O9 and the character E0 to the character E9 shown in FIG. 11 the character belongs to.
In other words, in FIG. 11, the delta distance T1 and the delta distance T2 for each one of the character O0 to the character O9 and the character E0 to the character E9 are different from those delta distance of the other characters. Therefore, it is possible to decide a character from the delta distance T1 and the delta distance T2. For making this decision, a first demodulation table 100 of FIG. 13 is used that shows a relationship between each pattern of combination of the delta distance T1 and the delta distance T2, and each character.
However, as shown in FIG. 13, the character E2 and the character E8, the character O2 and the character O8, the character O1 and the character O7, and the character E1 and the character E7 respectively have the same combination values for the delta distance T1 and the delta distance T2. Therefore, it is not possible to decide these characters based on the delta distance T1 and the delta distance T2.
Specifically, taking an example of the character E2 and the character E8, both characters have the same values for the delta distance T1 as three modules and the delta distance T2 as three modules. Therefore, based on only the delta distance T1 and the delta distance T2, it is not possible to decide whether the character is the character E2 or the character E8.
Accordingly, between the character E2 and the character E8, between the character O2 and the character O8, between the character O1 and the character O7, and between the character E1 and the character E7 respectively, it is possible to discriminate between these characters based on a difference between the black-bar width of the first black bar and the black-bar width of the third black bar, as these black-bar widths are different between these characters.
Specifically, taking an example of the character E2 and the character E8 shown in FIG. 11, the character E2 has two modules for the black-bar width of the first black bar, and two modules for the black-bar width of the third black bar. On the other hand, the E8 has one module for the black-bar width of the first black bar, and one module for the black-bar width of the third black bar, and these numbers are different from those of the character E2. Therefore, it is possible to discriminate between the character E2 and the character E8, based on the black-bar width of the first black bar and the black-bar width of the third black bar.
Further, for discriminating between the character O1 and the character E1, between the character O2 and the character E2, between the character O7 and the character E7, and between the character O8 and the character E8, which it is not possible to decide based on the first demodulation table 100 (refer to FIG. 13), a second demodulation table 200 of FIG. 14 is used that shows a relationship between each pattern of combination of the black-bar width B1 of the first black bar and the black-bar width B3 of the third black bar, and each character.
Referring back to FIG. 8, a photoelectric converter 2 in a scanner 1 is for optically reading the bar code 10, and outputting a result of the reading as a read signal Sb. This photoelectric converter 2 is constructed of a laser oscillator (not shown) for irradiating laser beams L onto the bar code 10, and a light receiver (not shown) for receiving the laser beams L reflected from the bar code 10, and then generating a read signal Sb shown in FIG. 2(b).
The levels of the read signal Sb correspond to a black bar BB1, a white bar WB1, a black bar BB2, and a white bar WB2 shown in FIG. 2(a). In other words, as the light reflectance is low for a black bar LGB1, the black bar BB1, and the black bar BB2 respectively, the corresponding levels of the read signal Sb become low. On the other hand, as the light reflectance is high for the white bar WB1, the white barB2, and a white bar LGB2 respectively, the corresponding levels of the read signal Sb become high.
An A/D (analog/digital) converter 3 compares the read signal Sb from the photoelectric converter 2 with a threshold value, thereby to change (digitize) the read Sb into a binary data. A clock signal generator 4 generates a clock signal Sc having a predetermined period. A bar-width counter 5 counts up in synchronism with the period of the clock signal Sc supplied from the clock signal generator 4, and measures as count values a black-bar width B1, a white-bar width B2, a white-bar width B3, a black-bar width B4, a white-bar width B5, and a black-bar width B6, out of the read signal Sb digitized by the A/D converter 3, as shown in FIG. 2(b)
In the example shown in FIG. 2(c), the black-bar width B1 has 25 counts, the white-bar width B2 has 25 counts, the white-bar width B3 has 200 counts, the black-bar width B4 has 100 counts, the white-bar width B5 has 50 counts, and the black-bar width B6 has 50 counts. Referring back to FIG. 8, a storage 7 stores the count value data of the bar-width counter 5 by relating these values to the black-bar width B1, the white-bar width B2, and so on respectively, as shown in FIG. 2(d).
The storage 7 also stores the first demodulation table 100 (refer to FIG. 13), the second demodulation table 200 (refer to FIG. 14), and a program that is executed by a scanner controller 6.
The scanner controller 6 demodulates characters of the bar code 10, based on the count value data from the bar-width counter 5, the first demodulation table 100 (refer to FIG. 13), and the second demodulation table 200 (refer to FIG. 14), and outputs a result of the demodulation as a demodulation data Dm. The operation of the scanner controller 6 will be explained in detail later.
A communication section 8 transmits the demodulation Dm from the scanner controller 6 to a POS device 9. The POS device 9 displays prices of goods (not shown) and names of the goods that are attached with the bar codes 10, and generates sales management information, based on the demodulation Dm.
Next, the operation of the conventional bar-code reader will be explained with reference to a flowchart shown in FIG. 12.
When the print precision of the bar code 10 is aggravated, a black-bar width may become narrower to have a thinner black bar as compared with a normal black-bar width, or on the contrary, the black-bar width may become larger to have a thicker black bar as compared with the normal black-bar width.
Specifically, FIG. 15(b) shows an example of a case where black-bar widths become thinner like a black-bar width B1xe2x80x2 and a black-bar width B3xe2x80x2 as compared with a normal black-bar width B1 and a normal black-bar width B3 respectively (refer to FIG. 15(a)). FIG. 15(c) shows an example of a case where black-bar widths become thicker like a black-bar width B1xe2x80x3 and a black-bar width B3xe2x80x3 as compared with the normal black-bar width B1 and the normal black-bar width B3 respectively (refer to FIG. 15 (a)).
When the black bars of the bar code 10 have become thinner or thicker as explained above, the delta distance T1, the delta distance T2, the black-bar width B1, and the black bar B3 change from those of the normal bar code 10. Therefore, this has a possibility of producing an erroneous result of demodulation when characters are demodulated. The conventional bar-code reader explained below receives bad influences of the thinned or thickened black-bar widths of the bar code 10.
In FIG. 8, when the laser beams L have been irradiated onto the bar code 10 from the laser oscillator (not shown) of the photoelectric converter 2 for reading the bar code, the laser beams L are reflected at the reflectance corresponding to the distribution of black bars and white bars of the bar code 10. Then, the reflected laser beams L are received by the receiver (not shown) of the photoelectric converter 2. Consequently, in the receiver of the photoelectric converter 2, the reflected beams are converted into the read signal Sb having the waveform as shown in FIG. 2(b), and then the read signal Sb is output to the A/D converter 3. The A/D converter 3 compares the input read signal Sb with a threshold value, and changes the read signal Sb into a binary data. The binary read signal Sb is counted by the bar-width counter 5. The counted result is delivered to the scanner controller 6.
The scanner controller 6 proceeds to step SA1 shown in FIG. 12, and decides whether a start code or a stop code has been detected or not, based on the counted result. When a result of this decision made is xe2x80x9cNoxe2x80x9d, the same process of making a decision is repeated. In this case, the start code means a code corresponding to the left guard bar LGB (or the right guard bar RGB) shown in FIG. 9, and the stop code means a code corresponding to the right guard bar RGB (or the left guard bar LGB).
When a start code corresponding to the left guard bar LGB has been detected, the scanner controller 6 sets xe2x80x9cYesxe2x80x9d as a result of the decision made, and proceeds to step SA2. At step SA2, the scanner controller 6 stores the black-bar width B1 of the black bar LGB1 (=25 counts) shown in FIG. 2(a) and FIG. 2(b) into the storage 7, as a reference module width, and then proceeds to step SA3.
At step SA3, the scanner controller 6 decides whether black bars and white bars corresponding to one character have been scanned or not. When a result of the decision made is xe2x80x9cNoxe2x80x9d, the same process of making a decision is repeated. In this case the black bars and the white bars corresponding to one character mean the black bars and the white bars that express the character E4 shown in FIG. 10(a), for example. When a result of the decision made at step SA3 is xe2x80x9cYesxe2x80x9d, the scanner controller 6 proceeds to step SA4.
At step SA4, the scanner controller 6 decides whether or not the number of modules as a result of totaling the white bars and the black bars for one character scanned at step SA3 (that is, seven modules, when there is no thinning in black or thickening in black) is an integer times the number of the reference modules. When a result of the decision made is xe2x80x9cYesxe2x80x9d, the scanner controller 6 proceeds to step SA5. When the character has been thinned in black or thickened in black as shown in FIG. 15(b) or FIG. 15(c), the number of modules for one character does not become an integer times the number of the reference modules. Therefore, in this case, the scanner controller 6 sets xe2x80x9cNoxe2x80x9d as a result of decision made at step SA4, and then proceeds to step SA12.
At step SA12, the scanner controller 6 decides whether a value of a decimal point portion (an error) of a ratio of the number of modules for one character to the number of the reference modules is equal to or less than a permissible value (for example, xc2x10.3) or not. When a result of the decision made is xe2x80x9cNoxe2x80x9d, the scanner controller 6 proceeds to step SA13. At step SA13, the scanner controller 6 makes the demodulation data Dm invalid, and then returns to step SA1 to repeat the above operation according to the next character.
On the other hand, when a result of the decision made at step SA12 is xe2x80x9cYesxe2x80x9d, the scanner controller 6 proceeds to step SA5, and demodulates the character by using the first demodulation table 100 (refer to FIG. 13) and the second demodulation table 200 (refer to FIG. 14). Then, the scanner controller 6 proceeds to step SA6. At step SA6, the scanner controller 6 decides whether a stop code or a start code has been detected or not. When a result of the decision made is xe2x80x9cNoxe2x80x9d, the scanner controller 6 returns to step SA3, and repeats the above operation according to the next character.
When a result of the decision made at step SA6 becomes xe2x80x9cYesxe2x80x9d, that is, when the demodulation of all the characters of the bar code 10 has been finished, the scanner controller 6 proceeds to step SA7. At step SA7, the scanner controller 6 calculates a check digit based on a known modulus 10, and then proceeds to step SA8.
Specifically, the scanner controller 6 checks whether the check digit calculated at step SA7 coincides with the check digit code CD the character actually demodulated (refer to FIG. 9), and decides whether the check result has been correct or not. When the check digit calculated at step SA7 coincides with the check digit code CD of the character actually demodulated, the check result is correct. When the check digit calculated at step SA7 does not coincide with the check digit code CD of the character actually demodulated, the check result is abnormal. When a result of the decision made at step SA8 is xe2x80x9cNoxe2x80x9d, the scanner controller 6 proceeds to step SA13, and destroys the demodulation data Dm. Then, the scanner controller 6 returns to step SA1. On the other hand, when a result of the decision made at step SA8 is xe2x80x9cYesxe2x80x9d, the scanner controller 6 proceeds to step SA9. At step SA9, the scanner controller 6 gives a correct-reading sound to notify that the reading has been correct, and then proceeds to step SA10.
At step SA10, the scanner controller 6 edits the demodulation data Dm, and then proceeds to step SA11. At step SA11, the scanner controller 6 transmits the edited demodulation data Dm to the POS device 9 via the communication section 8, and returns to step SA1. Consequently, the POS device 9 recognizes the character corresponding to the bar code 10 based on the demodulation data Dm.
According to the conventional bar-code reader, when an error exceeds a permissible value, the demodulation data Dm is made invalid indiscriminately, that is, the reading result of the bar code 10 is made as an error, as explained at step SA12 (refer to FIG. 12). The main cause of the occurrence of this error is that the print precision of the bar code 10 does not satisfy the permissible value. In this case, the operator must visually confirm the code (2000000289632: refer to FIG. 9) of the bar code 10, and then manually input all of this code.
However, it is very troublesome to manually input all the code, and this also takes time. Accordingly, it is very inconvenient for the operator to use this bar-code reader, and the operator tends to dislike this bar-code reader. In the worst case, even if the reading precision of the bar-code reader satisfies a reference value, the maker of the bar-code reader is pressed by the user to change the type of the bar-code reader or to change the maker of the bar-code reader.
Accordingly, it is an object of the present invention to provide a bar-code reader and a bar-code reading method capable of reading a bar code without generating a load on the operator even if the print precision of the bar code does not satisfy a permissible value.
In order to achieve the above object, in a bar-code reader according to the present invention, the bar-code reader is for demodulating a character based on the number of modules obtained by reading a bar code that expresses the character in a plurality of bar widths, and the bar-code reader comprises, a ratio calculation unit (corresponding to a scanner controller 25 in one embodiment to be described later) that obtains a ratio of a number of modules to a reference module width of the character, a correction unit (corresponding to the scanner controller 25 in one embodiment to be described later) that corrects the number of modules that includes an error component, when the error amount in the ratio exceeds a permissible value, a demodulation unit (corresponding to the scanner controller 25 in one embodiment to be described later) which demodulates a character, based on the number of modules of the character and the number of modules corrected by the correction unit, a display unit (corresponding to an operator display 34 in one embodiment to be described later) that displays a marked questionable character corresponding to the corrected number of modules, in a result of demodulation by the demodulation unit, and an input unit (corresponding to a keyboard 36 in one embodiment to be described later) which inputs a correct character based on the display of the display unit.
According to this invention, in a bar code of low print precision, a black-bar width becomes thicker or thinner relative to a reference value. When this bar code has been read, a ratio of a number of modules to a reference module width of a character does not become an integer. Therefore, when an error amount of the ratio exceeds a permissible value, the correction unit corrects the number of modules that includes an error component. In this case, the display unit displays a marked questionable character that corresponds to the corrected number of modules, in a result of demodulation by the demodulation unit. Based on this display, a correct character is input from the input unit.
As explained above, according to the present invention, a number of modules that includes an error component is corrected, and a character that is basically a reading error is displayed by the display unit as a questionable character that is attached with a mark. Then, a correct character corresponding to this questionable character is input. Therefore, it is not necessary to input all characters of the bar code. As a result, it is possible to reduce the load of the operator.
Further, in a bar-code reader according to the present invention, in the above bar-code reader, the bar-code reader comprises, a memory unit (corresponding to a storage 26 in one embodiment to be described later) that stores a table for expressing a relationship between a result of correct demodulation obtained by replacing the questionable character in the result of demodulation by the demodulation unit with the correct character input by the input unit, and a result of demodulation that includes the questionable character, a count unit (corresponding to the scanner controller 25 in one embodiment to be described later) that counts the number of times when the result of demodulation that includes the questionable character in the table has been obtained, and a control unit (corresponding to the scanner controller 25 and a POS controller 31 in one embodiment to be described later) that makes the display unit display the result of correct demodulation in the table when the result of counting by the count unit is equal to or above a threshold value, in the case where a result of demodulation that includes the questionable character has been obtained by the demodulation unit and also when the result of demodulation exists in the table.
According to this invention, when a result of demodulation that includes the questionable character has been obtained by the demodulation unit and also when the result of demodulation exists in the table, the result of correct demodulation in the table is displayed by the display unit when the result of counting by the count unit is equal to or above a threshold value, without involving an input of the correct character by the input unit.
As explained above, according to the present invention, the table and the count unit are provided. When the result of counting by the count unit is equal to or above a threshold value, the questionable character is regarded as a correct character, and the result of correct demodulation in the table is displayed by the display unit. Therefore, a troublesome input operation by the operator is not necessary. As a result, it is possible to read the bar code without applying load to the operator.
Further, in a bar-code reader according to the present invention, in the above bar-code reader, the display unit displays the questionable character based on a display method different from that used for displaying other characters.
According to this invention, the display unit can display questionable characters distinctly differently from other characters based on different display methods. Therefore, it is possible to input the correct character easily from the input unit.
Further, in a bar-code reader according to the present invention, in the above bar-code reader, the display unit replaces the questionable character with the correct character that has been input by the input unit, and displays all characters in the same display method.
According to this invention, when the correct character has been input by the input unit, the questionable character is replaced with the correct character. At the same time, all characters are displayed in the same display method. Therefore, the operator can instantly recognize that the questionable character has been replaced.
Further, in a bar-code reader according to the present invention, the bar-code reader is for reading a bar code that is constructed of a plurality of characters, and demodulating the bar code, and the bar-code reader comprises, a decision unit (corresponding to the scanner controller 25 in one embodiment to be described later) that decides presence or absence of a questionable character having a possibility of erroneous reading among the characters included in the bar code, a display unit (corresponding to the operator display 34 in one embodiment to be described later) that displays a result of demodulating the bar code, and a control unit (corresponding to the scanner controller 25 in one embodiment to be described later) that makes the display unit display the questionable character included in the result of demodulation distinctly differently from other characters, when the decision unit has decided that there is the questionable character.
According to this invention, in a bar code of low print precision, a black-bar width becomes thicker or thinner relative to a reference value. When this bar code has been read, the decision unit decides presence or absence of a questionable character having a possibility of erroneous reading. When it has been decided that there is a questionable character, the control unit makes the display unit display the questionable character included in the result of demodulation distinctly differently from other characters.
As explained above, according to the present invention, it is possible to make the display unit display the questionable character distinctly differently from other characters, based on different display methods.
Further, in a bar-code reader according to the present invention, in the above bar-code reader, the bar-code reader comprises an input unit (corresponding to the keyboard 36 in one embodiment to be described later) which inputs a correct character corresponding to the questionable character, wherein the control unit replaces the questionable character with the correct character, and outputs a result of demodulation that includes the correct character as a result of corrected demodulation.
According to this invention, a character is corrected by replacing a questionable character with a correct character, based on the input from the input unit. Therefore, it is not necessary to input all characters of the bar code. As a result, it is possible to reduce the load of the operator.
Further, in a bar-code reader according to the present invention, in the above bar-code reader, the bar-code reader comprises, a memory unit (corresponding to the storage 26 in one embodiment to be described later) that stores the result of demodulation that includes the questionable character and the result of corrected demodulation, by relating these results to each other, and a comparison unit (corresponding to the scanner controller 25 in one embodiment to be described later) that compares the result of demodulating the bar code with the result of demodulation that includes the questionable character that is stored in the memory unit, wherein when the comparison unit shows a result of the comparison that both results of demodulation coincide with each other, the control unit outputs the result of corrected demodulation that is stored in the memory unit in place of the result of demodulating the bar code.
According to this invention, when a result of demodulation that includes a questionable character has been obtained and also when a result of demodulation that is the same as this result of demodulation exists in the memory unit, the control unit outputs the result of corrected demodulation in place of the result of demodulating the bar code. Therefore, a troublesome input operation by the operator is not necessary. As a result, it is possible to read the bar code without applying load to the operator.
Further, in a bar-code reading method according to the present invention, the bar-code reading method is for demodulating a character based on the number of modules obtained by reading a bar code that expresses the character in a plurality of bar widths, and the bar-code reading method comprises, a ratio calculation step (corresponding to a step SB2 in one embodiment to be described later) that obtains a ratio of a number of modules to a reference module width of the character, a correction step (corresponding to a step SB15 in one embodiment to be described later) that corrects the number of modules that includes an error component, when the error amount in the ratio exceeds a permissible value, a demodulation step (corresponding to a step SB16 in one embodiment to be described later) that demodulates a character, based on the number of modules of the character and the number of modules corrected at the correction step, a display step (corresponding to a step SC3 in one embodiment to be described later) that makes a display unit display a marked questionable character corresponding to the corrected number of modules, in a result of demodulation at the demodulation step, and an input step (corresponding to a step SC4 in one embodiment to be described later) that inputs a correct character based on the display of the display unit.
According to this invention, in a bar code of low print precision, a black-bar width becomes thicker or thinner relative to a reference value. When this bar code has been read, a ratio of a number of modules to a reference module width of a character does not become an integer. Therefore, when an error amount of the ratio exceeds a permissible value, the number of modules that includes an error component is corrected, at the correction step. In this case, the display unit displays a marked questionable character that corresponds to the corrected number of modules, in a result of demodulation at the demodulation step. Based on this display, a correct character is input at the input step.
As explained above, according to the present invention, a number of modules that includes an error component is corrected, and a character that is basically a reading error is displayed by the display unit as a questionable character that is attached with a mark. Then, a correct character corresponding to this questionable character is input. Therefore, it is not necessary to input all characters of the bar code. As a result, it is possible to reduce the load of the operator.